Various embodiments of the present invention relate to file management, and more specifically, to managing executable files.
With the development of computer software, there have been developed various technical solutions for data file compression. For example, a very high data compression ratio can be provided with respect to text files (for example, higher than 90%, which indicates the size of a compressed file is 10% of the size of an original file). Compression ratios of various data compression methods for different formats of files are different. For example, when compressing a text file, the compression ratio might be 90% or above; however, when compressing an executable file using the same compression algorithm, there might not be much difference between the size of a compressed file and the size of an original file, and even the compressed file is larger than the original file.
An application may comprise one or more executable files; the executable file is usually presented in binary form and can hardly be compressed using a conventional data compression algorithm. Since the executable file might occupy a large storage space, a provider of the application (such as a provider providing application downloading services specially) has to continuously expand the storage capacity of a server so as to store ever-increasing applications.
With the development of cloud computing environments, there are a large amount of executable files in a server under the cloud computing environment. Hence, how to manage these executable files becomes a challenge. In addition to the cloud computing environment, an embedded system is usually used for dedicated devices and only has quite limited storage resources. Moreover, the embedded system is typically a closed system and is not easy to be expanded like a general-purpose computer system. Therefore, in the embedded system, demands on the size of executable files are rather strict, and it is desired that a compressed version of the executable file can be stored in the embedded system and is decompressed when the executable file needs to be run.
Although the prior art has proposed technical solutions for data compression/decompression, these technical solutions are not suitable to compress/decompress executable files. Therefore, there is a problem as to how to effectively manage a plurality of executable files so as to reduce the storage space occupied by the plurality of executable files.